﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using LostHobbits.Render;
using LostHobbits.Sound;
using LostHobbits.Physics;
using LostHobbits.Input;
using LostHobbits.Scene.Characters;

namespace LostHobbits.Scene
{
    public abstract class GameScene
    {
        Layer baseLayer;

        /*
        public string[] RenderAssets();

        public string[] SoundAssets();
        */

        private List<ICharacter> actors = new List<ICharacter>();

        public GameScene()
        {
            baseLayer = new Layer();           
        }

        public void Update(GameTime gameTime, ISoundService sound, IInputService input)
        {
            foreach (ICharacter actor in actors)
                actor.Act(gameTime);
            baseLayer.Update(gameTime, sound, input);            
        }

        public void BuildRenderAssembly(List<Render.RenderManager.RendationInfo> toRender)
        {
            baseLayer.BuildRenderAssembly(toRender, Vector2.Zero);
        }

        public void Load(ISoundService sound)
        {
            baseLayer.Load(sound);
        }
    }
}
